#include <zmq.hpp>
#include <iostream>

int main() {
  // 创建上下文和套接字
  zmq::context_t context(1);
  zmq::socket_t socket(context, zmq::socket_type::rep);

  // 绑定到指定地址
  socket.bind("tcp://*:5555");

  while (true) {
    // 接收请求
    zmq::message_t request;
    socket.recv(request, zmq::recv_flags::none);

    // 打印请求内容
    std::cout << "Received request: " << std::string(static_cast<char*>(request.data()), request.size()) << std::endl;

    // 发送响应
    zmq::message_t response(5);
    memcpy(response.data(), "World", 5);
    socket.send(response, zmq::send_flags::none);
  }

  return 0;
}
